<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>建立起始和终止元素处理器</title>

 </head>
 <body><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="function.xml-set-default-handler.html">xml_set_default_handler</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="function.xml-set-end-namespace-decl-handler.html">xml_set_end_namespace_decl_handler</a></div>
 <div class="up"><a href="ref.xml.html">XML 解析器函数</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div><hr /><div id="function.xml-set-element-handler" class="refentry">
   <div class="refnamediv">
    <h1 class="refname">xml_set_element_handler</h1>
    <p class="verinfo">(PHP 4, PHP 5)</p><p class="refpurpose"><span class="refname">xml_set_element_handler</span> &mdash; <span class="dc-title">建立起始和终止元素处理器</span></p>

   </div>
   
 <div class="refsect1 description" id="refsect1-function.xml-set-element-handler-description">
  <h3 class="title">说明</h3>
    <div class="methodsynopsis dc-description">
   <span class="type">bool</span> <span class="methodname"><strong>xml_set_element_handler</strong></span>
    ( <span class="methodparam"><span class="type">resource</span> <code class="parameter">$parser</code></span>
   , <span class="methodparam"><span class="type"><a href="language.types.callable.html" class="type callable">callable</a></span> <code class="parameter">$start_element_handler</code></span>
   , <span class="methodparam"><span class="type"><a href="language.types.callable.html" class="type callable">callable</a></span> <code class="parameter">$end_element_handler</code></span>
   )</div>

    <p class="para rdfs-comment">
     为 <em><code class="parameter">parser</code></em> 参数指定的 XML 解析器建立元素处理器函数。参数 <em><code class="parameter">start_element_handler</code></em> 和 <em><code class="parameter">end_element_handler</code></em> 为表示函数名称的字符串，这些函数必须在为 <em><code class="parameter">parser</code></em> 指定的解析器调用 <span class="function"><a href="function.xml-parse.html" class="function">xml_parse()</a></span> 函数时已存在。
    </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.xml-set-element-handler-parameters">
  <h3 class="title">参数</h3>
  <p class="para">
   <dl>

    
     <dt>
<em><code class="parameter">parser</code></em></dt>

     <dd>

      <p class="para">
       XML 解析器的引用，用于建立起始和终止元素处理器。
      </p>
     </dd>

    
    
     <dt>
<em><code class="parameter">start_element_handler</code></em></dt>

     <dd>

      <p class="para">
            由 <em><code class="parameter">start_element_handler</code></em> 参数命名的函数名必须接受三个参数：
       <div class="methodsynopsis dc-description">
        <span class="methodname"><span class="replaceable">start_element_handler</span></span>
         ( <span class="methodparam"><span class="type">resource</span> <code class="parameter">$parser</code></span>
        , <span class="methodparam"><span class="type">string</span> <code class="parameter">$name</code></span>
        , <span class="methodparam"><span class="type">array</span> <code class="parameter">$attribs</code></span>
        )</div>

       <dl>

        
         <dt>
<em><code class="parameter">parser</code></em></dt>
 
         <dd>

          <span class="simpara">
           第一个参数 <span class="replaceable">parser</span> 为指向要调用处理器的 XML 解析器的指针。
          </span>
         </dd>

        
        
         <dt>
<em><code class="parameter">name</code></em></dt>

         <dd>

          <span class="simpara">
           第二个参数 <em><code class="parameter">name</code></em> 为该处理器为之被调用的元素名。如果<a href="xml.case-folding.html" class="link">大小写折叠（case-folding）</a>对该解析器有效，元素名将用大写字母表示。
          </span>
         </dd>

        
        
         <dt>
<em><code class="parameter">attribs</code></em></dt>

         <dd>

          <span class="simpara">
           第三个参数 <em><code class="parameter">attribs</code></em> 为一个包含有对应元素的属性的数组（如果该元素有属性）。数组元素的下标为属性名，元素的值即为属性的值。属性名将以和元素名同样的标准进行<a href="xml.case-folding.html" class="link">大小写折叠（case-folded）</a>，其值<em class="emphasis">不</em>进行大小写折叠。
          </span>
          <span class="simpara">
           属性的原始顺序将会被参数保留，用 <span class="function"><a href="function.each.html" class="function">each()</a></span> 函数遍历 <em><code class="parameter">attribs</code></em> 时，该数组下表的顺序和属性的顺序相同。
          </span>
         </dd>

        
       </dl>

      </p>
      <blockquote class="note"><p><strong class="note">Note</strong>: <span class="simpara">除了函数名，含有对象引用的数组和方法名也可以作为参数。</span></p></blockquote>
     </dd>

    
    
     <dt>
<em><code class="parameter">end_element_handler</code></em></dt>

     <dd>

      <p class="para">
            由 <em><code class="parameter">end_element_handler</code></em> 参数命名的函数名必须接受两个参数：
       <div class="methodsynopsis dc-description">
        <span class="methodname"><span class="replaceable">end_element_handler</span></span>
         ( <span class="methodparam"><span class="type">resource</span> <code class="parameter">$parser</code></span>
        , <span class="methodparam"><span class="type">string</span> <code class="parameter">$name</code></span>
        )</div>

       <dl>

        
         <dt>
<em><code class="parameter">parser</code></em></dt>
 
         <dd>

          <span class="simpara">
           第一个参数 <span class="replaceable">parser</span> 为指向要调用处理器的 XML 解析器的指针。
          </span>
         </dd>

        
        
         <dt>
<em><code class="parameter">name</code></em></dt>

         <dd>

          <span class="simpara">
          第二个参数 <em><code class="parameter">name</code></em> 为该处理器为之被调用的元素名。如果<a href="xml.case-folding.html" class="link">大小写折叠（case-folding）</a>对该解析器有效，元素名将用大写字母表示。
          </span>
         </dd>

        
       </dl>

      </p>
      <p class="para">
       如果处理器函数名被设置为空字符串或者 <strong><code>FALSE</code></strong>，则该有问题的处理器将被屏蔽。
      </p>
     </dd>

    
   </dl>

  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.xml-set-element-handler-returnvalues">
  <h3 class="title">返回值</h3>
  <p class="para">
   成功时返回 <strong><code>TRUE</code></strong>， 或者在失败时返回 <strong><code>FALSE</code></strong>。
  </p>
 </div>

  </div><hr /><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="function.xml-set-default-handler.html">xml_set_default_handler</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="function.xml-set-end-namespace-decl-handler.html">xml_set_end_namespace_decl_handler</a></div>
 <div class="up"><a href="ref.xml.html">XML 解析器函数</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div></body></html>
